home *** CD-ROM | disk | FTP | other *** search
/ Macademic for Students & Teachers / Macademic for Students and Teachers (Quantum Leap)(1992).iso / Mathematics / FractaSketch / Fracta Hints next >
Text File  |  1988-07-04  |  7KB  |  143 lines

  1. Hints for FractaSketch
  2. ----------------------
  3.  
  4. In order to use the program FractaSketch to the fullest, I have compiled
  5. a bunch of miscellaneous intelligent and hare-brained comments and tips,
  6. which are listed forthwith.
  7.  
  8. In the following hints I use the term “template” to mean the simple
  9. connected figure of line segments which is entered through the
  10. Template menu. The term “teragon” is used to mean the fractal as it
  11. is drawn, with all drawing properties selected from the Draw, Scale,
  12. Mode, and Line menus. This comes from “tera” (for a huge quantity),
  13. and “gon” (as in polygon), to mean a polygon with a huge number of
  14. sides. The term “teragon” is coined in Mandelbrot's book.
  15.  
  16. FractaSketch can only be run on a 512K Mac, as it uses 
  17. more than 100K of memory for program and data.  Sorry, folks.
  18.  
  19. Drawing
  20. -------
  21.  
  22. When any change is made to a teragon's drawing properties it is redrawn
  23. immediately. This allows for rapid viewing of changes without having to
  24. choose a level from the Draw menu.  
  25.  
  26. “Set Position” allows you to set where on the screen drawing will take
  27. place.  Select it and then click and drag.  The drawing will be moved.
  28. Pressing a key without clicking the mouse will cancel the command.
  29.  
  30. “Centered” will initialize the teragon size and position. If you are lost
  31. with too many scale and position changes it lets you find your way back
  32. quickly.
  33.  
  34. “Higher Level” in the Draw menu allows the level to go beyond 10, for
  35. very detailed drawings.  The spirals are a good example of this.
  36. This is only usable if the number of active segments (i.e. attribute 
  37. different from 9 or 0) is one or two.  Execution time can increase beyond
  38. the estimated life of the universe, but will always remain finite.
  39. The maximum level allowed in this version is 100. 
  40.  
  41. Templates
  42. ---------
  43.  
  44. When entering a template it is preferable to choose menu entries through
  45. the keyboard. Using the mouse works too, but it's not a pretty sight with
  46. the moving segment tagging along!
  47.  
  48. The “Undo” command allows any number of segments to be removed from a
  49. template.
  50.  
  51. There is a limit on the number of segments in a template.  In this
  52. version of FractaSketch it is 100.  The program will beep if you attempt
  53. to go beyond that limit.  A beep is also given as a warning when you are
  54. ten segments short of the maximum.
  55.  
  56. Always use the hex grid or the square grid when entering a template,
  57. unless the segments must have special lengths.  The small square grid
  58. is a compromise in which positioning is easier than with no grid.
  59.  
  60. If a template has only one segment, or if the beginning point coincides
  61. with the ending point, the program will not let you complete entering it.
  62.  
  63. The vertical coordinate of the last point of a template is fudged by the
  64. program so the template is horizontal. This is necessary for the
  65. recursive drawing algorithm.
  66.  
  67. With the “Save Fractal” command a teragon is stored as a text file. The
  68. picture itself is not stored, only the information necessary to recreate it.
  69. All of the fractal's internal state information is stored.   
  70.  
  71. The “Save as TEXT” and “Save as PICT” commands allow the fractal to be saved
  72. in TEXT or PICT format.  The PICT file can be read by MacDraw or other drawing
  73. programs.  The TEXT file can be read and modified directly by a text editor
  74. and read by FractaSketch.  This allows you to inspect and change the teragon 
  75. indirectly, by fiddling with the numbers.
  76.  
  77. The “Open Fractal” command checks the format of the file to make sure it
  78. represents a teragon. It can read TEXT files and fractal files.  It does NOT
  79. check for consistency of data. Only some of the data is needed to actually
  80. draw the teragon, but it is advised to keep the data consistent when altering
  81. it so later additions to FractaSketch will work.
  82.  
  83. The representation of a teragon in a file:
  84. (An asterix means the datum must be correct for correct drawing)
  85. First line: string “D=x.xxxx” (D=dimension of the fractal).
  86. Second line: 
  87.     *    Number of points (=number of segments+1) (integer), 
  88. Third line:
  89.     *    Drawing scale (fixed point),
  90.     *    Horizontal drawing origin (fixed point,hex),
  91.     *    Vertical drawing origin (fixed point,hex),
  92.     *    Level of drawing (integer),
  93.     *    Pensize of drawing (integer),
  94.     *    Mode of drawing (integer).
  95. Following lines:
  96. (except that the fourth line is not used for drawing purposes)
  97.         Horizontal coordinate of point (fixed point,hex),
  98.         Vertical coordinate of point (fixed point,hex),
  99.     *    Scaled segment length (fixed point,hex),
  100.         Attribute number (integer),
  101.         Absolute angle of segment (float),
  102.     *    Relative angle between this segment and previous one (float),
  103.     *    Backward orientation flag (1=draw backwards,0=forwards),
  104.     *    Bottom out recursion flag (1=stop recursion,0=continue),
  105.     *    Invert drawing flag (1=invert drawing of this segment),
  106.     *    Left orientation flag (1=draw left, 0=draw right).
  107.     
  108. The theoretical dimension (rightmost menu “D=x.xxxx”) is accurate in
  109. most cases, unless there are overlapping segments.  It uses the formula
  110. Sum(scaled segment lengths^D) = 1. All segments are used in this sum
  111. except those for which recursion bottoms out.
  112.  
  113. “Empirical Dimension” will determine the dimension by counting pixels
  114. in two teragons of different scale.  This approximates the definition of
  115. the Hausdorff-Besicovitch dimension. The calculation takes several
  116. minutes, and the accuracy leaves much to be desired. Usually it is one
  117. decimal place.  Please let me know if you know of a more accurate method. 
  118.  
  119. Artistic Hints
  120. --------------
  121.  
  122. It is quite difficult to create a teragon with dimension close to 2
  123. without lots of self-contact. Try it! If you can create a teragon with
  124. dimension 1.90 or higher without self-contact let me know! The Peano curve
  125. “Flowsnake” has lots of twists and turns, but no self-contact until the
  126. limit is reached.
  127.  
  128. If you can find teragons which are recognizable forms please let me
  129. know.  Any form is good: country outlines, cars, faces, even Dali-esque
  130. stuff.  And of course, the simpler the template (less segments) the
  131. better.  The teragon “La France” only has four segments.
  132.  
  133. Some teragons look completely random.  Others are symmetric to the
  134. extreme. Yet others are hybrids of these two kinds. Is it possible to
  135. tell the degree of “randomness” by looking at the template alone? 
  136.  
  137. This package contains a lot of variation.  But I think even more variation is
  138. possible.  Create some wild stuff!
  139.  
  140. A good addition to the present program would be a template editor, 
  141. which would allow templates to be changed easily with the mouse,
  142. with a dynamically changing display showing what the teragon looks
  143. like.  What do you think?